#ifndef CPROPPICKER_H
#define CPROPPICKER_H

#include <vtkSmartPointer.h>
#include <vtkMath.h>
#include <vtkActor.h>
#include <vtkProperty.h>
#include <vtkSphereSource.h>
#include <vtkInteractorStyleTrackballCamera.h>
#include <vtkObjectFactory.h>
#include <vtkSphereSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkPropPicker.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
class CPropPickerInteractorStyle: public vtkInteractorStyleTrackballCamera
{
public:
    static CPropPickerInteractorStyle* New();
    vtkTypeMacro(CPropPickerInteractorStyle, vtkInteractorStyleTrackballCamera);

    CPropPickerInteractorStyle()
    {
        LastPickedActor = NULL;
        LastPickedProperty = vtkProperty::New();
    }
    virtual ~CPropPickerInteractorStyle()
    {
        LastPickedProperty->Delete();
    }
    virtual void OnLeftButtonDown();
    virtual void OnRightButtonDown();

private:
    vtkActor    *LastPickedActor;
    vtkProperty *LastPickedProperty;
};

#endif // CPROPPICKER_H
